屬於會回傳陣列資料
或是索引值
的函數
使用 array.indexOf() 後如果有找到值則回傳該值在陣列裡的位置,
如果該值有一個以上,則是回傳第一次
找到的位置
如果沒有則回傳 -1
這是不是很像我們常常看到的間易搜尋呢?
我將會在範列二介紹這個簡易搜尋
那...先看語法瞜
array.indexOf(searchElement[, fromIndex]);
searchElement - 要尋找的值
fromIndex - 從陣列的哪個位置開始找,可省略(預設位置為0)
slice() 方法會回傳一個新的陣列,原來的陣列不會被修改
程式碼如下:
let colors = ['blue', 'blue', 'yellow', 'red', 'orange', 'green', 'sky blue', 'red', 'caramel', 'red', 'green']
console.log(colors.indexOf('yellow'))
console.log(colors.indexOf('blue'))
console.log(colors.indexOf('red', 5))
console.log(colors.indexOf('greenyellow'))
找尋'bubble tea'是否存在newAry陣列中,若沒有,則加入到newAry陣列最前方,
如何加入呢?記得前面有我們學習過 array.unshift() 函數,這時候就派上用場了!
程式碼如下:
let newAry = ['green tea', 'block tea', 'milk']
function check(item) {
if (newAry.indexOf(item) === -1) {
newAry.unshift(item)
}
return newAry;
}
check('bubble tea')
console.log(newAry)
參考資料 https://www.tutorialspoint.com/javascript/array_indexof.htm